home *** CD-ROM | disk | FTP | other *** search
/ Aminet 7 / Aminet 7 - August 1995.iso / Aminet / text / hyper / ADtoHT2_1.lha / Source.lha / MyLib.lha / startup / startup_SAS5.a < prev   
Encoding:
Text File  |  1995-03-21  |  773 b   |  62 lines

  1. ; Startup module for SAS, and probably most other Amiga compilers
  2.  
  3.     include "t:__Config__.a"
  4.  
  5.     ifd SMALL_DATA
  6.     xref _LinkerDB
  7.     endc
  8.     xref __BSSLEN
  9.     xref __BSSBAS
  10.     xref __Startup
  11.  
  12.     section text,code
  13.  
  14.     ifd SMALL_DATA
  15.     bsr.s __geta4
  16.     lea __BSSBAS(a4),a0
  17.     else
  18.     lea __BSSBAS,a0
  19.     endc
  20.  
  21.     move.l #__BSSLEN,d0
  22.     beq.s ClearBSSDone
  23. ClearBSSLoop:
  24.     clr.l (a0)+
  25.     subq.l #1,d0
  26.     bne.s ClearBSSLoop
  27. ClearBSSDone:
  28.  
  29.     ifd SMALL_DATA
  30.     move.l SP,StackPointer(a4)
  31.     else
  32.     move.l SP,StackPointer
  33.     endc
  34.  
  35.     ifd SMALL_CODE
  36.     bra __Startup
  37.     else
  38.     jmp __Startup
  39.     endc
  40.  
  41.     xdef ___exit
  42. ___exit:
  43.     move.l 4(SP),d0
  44.     ifd SMALL_DATA
  45.     move.l StackPointer(a4),SP
  46.     else
  47.     move.l StackPointer,SP
  48.     endc
  49.  
  50.     xdef __geta4
  51. __geta4:
  52.     ifd SMALL_DATA
  53.     lea _LinkerDB,a4
  54.     endc
  55.     rts
  56.  
  57.     SECTION bss,bss
  58.  
  59. StackPointer:    ds.l 1
  60.  
  61.     END
  62.